Home networks are known for networking appliances in the household sector. The interconnected appliances may emanate from the field of consumer electronics, such as television set, video recorder, DVD player, satellite receiver, CD player, MD player, amplifier, camcorder etc. In this context, mention is also made of a personal computer, which may likewise be regarded as a consumer electronics appliance today.
To network appliances from the field of consumer electronics, industry has developed appropriate communication systems. The primary intention here is wire-based networking of appliances, and in this case particularly using the “IEEE 1394 bus system”, which allows data to be interchanged at a very high data rate between the individual network stations. The IEEE 1394 interfaces, which have been widely used to date, generally support the specified data transmission speeds S 100, S 200, S 400. In this case S 100 means a data transmission rate of approximately 100 Mbit/s. S 200 accordingly means approximately 200 Mbit/s and S 400 means Mbit/s. Such high data rates are required, in particular, for interchanging data between consumer electronics appliances. The reason for this is that a typical application involves playback of a track from a video/audio source, either a video film or a piece of music, and the associated data stream being transmitted to another consumer electronics appliance or a plurality of consumer electronics appliances as data sink(s). For this instance of application, a data link is set up between the appliances in question which interchange data with one another. This data link is then used to transmit data packets on a regular basis. This form of data transmission is called isochronous data transmission in the IEEE 1394 standard, this involving data packets being transmitted from the data source to the data sink or data sinks on a regular basis, at particular intervals of time.
In addition, the IEEE 1394 bus is also used for asynchronous data transmission. In this case, data packets are transmitted more or less as required. The number of such data packets sent via the bus is dependent on the data volume which arises. Asynchronous data transmission is predominantly used for identifying and controlling an appliance in the network from another appliance which is in the network. The IEEE 1394 standard has only a few restrictions in respect of the topology of the IEEE 1394 network. The permitted bus topology corresponds to a tree structure. Depending on the instance of application, the tree structure may take different forms, however, and in this regard the network can be made very variable.
In the case of the IEEE 1394 bus, a respective reset operation (bus reset) is executed on the data bus when an electronic appliance is connected to the bus lines or is disconnected from the bus lines. Following a bus reset operation, the network needs to be reconfigured each time. In the case of the IEEE 1394 standard, this is done in three phases. In the first phase, the bus is initialized (Bus Initialize). In this phase, the connection status is detected for each of the interfaces inputs/outputs (ports).
In the second phase, the tree structure of the network is ascertained (Tree Identify). In this phase, a network station is determined as base node (root).
The third phase concerns the phase of self identification for all network stations (Self Identify). In this phase, the previously determined base node asks each further network node to transmit the “self ID information”. The self ID information is evaluated by each network node that is on the bus. This ensures that each network station is informed about what other network stations are connected in the network. The self ID information is used by each network station to identify itself to the other network stations in the network. Using the self ID information received from the other respective network stations, each network station is able to create a “network node list” and to store it in a respective memory device associated with the network station. This stored information can then be processed by a driver program in the respective network station during bus management.
The three cited phases after a bus reset operation take place with hardware support by the network interface in each station. In these phases, there are therefore hardly any significant delays. The length of the respective phase is deterministic and essentially dependent on how many network stations there are in the network.
Nevertheless, the bus configuration is not yet complete after passing through the three phases presented. There is normally also a fourth phase, in which further configuration data are interchanged between the network stations. This is because an IEEE 1394 interface also contains a “configuration ROM” containing important information about the properties and the identity of the respective network station. Three entries in this ROM are important for globally identifying the network station. These are node_vendor_ID, chip_ID_hi and chip_ID_lo. These three code numbers together form a 64-bit identification number GUID (Global Unique Identifier) which can be used to address the network station uniquely in a network. In the fourth phase after the bus reset operation, this important information is therefore interchanged among the network stations in the network. This is done by virtue of each network station requesting the contents of these configuration memories from the other network stations. The information obtained is gathered in the network station and a “network node information table” is created therefrom. Using the information in this table, the driver software can then address other network stations directly during later network operation.
Invention
The configuration ROM entries are no longer requested exclusively with hardware support in the respective interface chips, however. In particular, a network station to which a request has been sent will not automatically return a hardware-triggered response containing the information that has been read instantaneously. In this case, reading is software controlled. Time delays may therefore arise in this case. A problem which has become apparent to the inventors is that it can sometimes take a very long time before the entries in the configuration ROM of all network stations on the bus have been read. In some network stations, there were very significant delays before they had returned the desired information. However, it is now the case that many applications which use an IEEE 1394 driver perform their transactions with global addressing. That is to say that these programs perform the addressing on the basis of the global 64-bit address which is in the respective configuration ROM. These application programs are dependent on the entries in the network node information table. However, the application cannot access this table until it has received the information from the bus management entity for the network station that the table has been enabled for use and thus contains the required information for all stations in the network.
If the network now contains a network station which reacts very slowly to the request to return the configuration data, the application itself cannot implement any GUID-addressed information, which means a disruptive enforced pause for the application. Depending on the type of application, it may also be subject to protocol-dependent time demands which it therefore cannot meet at this time.
It is the aim of the invention to prevent the unwanted delay response when setting up the network node information table.
The invention solves the problem by virtue of the network node information table being created in two phases. In the first phase, the entries begin to be read into the configuration ROMs of all network stations on the bus. The first phase ends after the data from all network stations with an appropriately short reaction time are available. A particular time limit is thus defined for the end of the first phase. The still incomplete network node information table is enabled for use by the application after the end of the first phase. In the second phase, attempts continue to be made to read the entries in the configuration ROMs of all network stations that are still missing. A time limit is likewise defined for the second phase. The information obtained during the second phase is used to complete the network node information table. If the information from network stations is still missing even after the second phase has elapsed, no further requests are sent to these missing network stations and the table is closed in its current state, so that the network stations which are still missing are then declared as not available therein.
The invention has the advantage that the application can start its own transactions as soon as the first phase has ended. This avoids a very slow and disruptive reaction from the application after a bus reset operation. The table is in that case not yet closed, however, and continues to be completed in the second phase.
The measures cited in the subclaims permit advantageous developments and improvements. One advantage is that the application software is informed in the second phase about each addendum of additional information to the network node information table, so that information from and to the newly entered network node can actually be implemented during the second phase.
It is advantageous if a request for the station-specific information is provided with an upper time limit for the response from the outset and if the request is repeated if this upper limit is exceeded. In this case, an upper time limit may advantageously be stipulated simply by a number of repetitions for the request for station-specific information.
In an IEEE 1394 network, it is advantageous if the upper time limit for the response to the request for the station-specific information is set to a defined value, e.g. 100 ms, and the upper limit for the number of repetitions for defining the abort criterion for the end of phase 1 corresponds to a number between 3 and 6.
This takes account of the special feature that if the application is the “HAVi stack” (Home Audio Video interoperability) there is only one second available for again setting up a data link which already existed before a bus reset operation. The application therefore needs to be able to access the network node information table within less than one second in order to be able to set the appropriate entries in “plug registers” for setting up the link again.
For a network station for carrying out the inventive method, the appropriate advantageous measures are indicated in claims 7 to 12.